<?php
/**
 * Classe/Table.php
 */

namespace Operationtest\Classe;

class Table {   
    protected $sm;
    protected $saleheadTable;
    protected $salerowTable;
    protected $storeTable;
    protected $meteoTable;
    protected $storecountTable;
    protected $drawercountTable;
    protected $marcheTable;
    protected $marcheStoreTable;
    protected $budgetTable;
    protected $rhdataTable;
    protected $operationTable;
    protected $operationManager; 
    
    /**
     * Constructor
     * @param ServiceLocator $sm
     */
    public function __construct($sm) {
        $this->sm = $sm;
    }
    
    public function getSaleheadTable() {
        if (!$this->saleheadTable) {
            $this->saleheadTable = $this->sm->get('Operationtest\Model\SaleheadTable');
        }
        return $this->saleheadTable;
    }
    
    public function getSalerowTable() {
        if (!$this->salerowTable) {
            $this->salerowTable = $this->sm->get('Operationtest\Model\SalerowTable');
        }
        return $this->salerowTable;
    }
    
    public function getStoreTable() {
        if (!$this->storeTable) {
            $this->storeTable = $this->sm->get('Operationtest\Model\StoreTable');
        }
        return $this->storeTable;
    }
    
    public function getMeteoTable() {
        if (!$this->meteoTable) {
            $this->meteoTable = $this->sm->get('Operationtest\Model\MeteoTable');
        }
        return $this->meteoTable;
    }
    
    public function getStorecountTable() {
        if(!$this->storecountTable) {
            $this->storecountTable = $this->sm->get('Operationtest\Model\StorecountTable');
        }
        return $this->storecountTable;
    }
    
    public function getDrawercountTable() {
        if (!$this->drawercountTable) {
            $this->drawercountTable = $this->sm->get('Operationtest\Model\DrawercountTable');
        }
        return $this->drawercountTable;
    }
    
    public function getMarcheTable() {
        if (!$this->marcheTable) {
            $this->marcheTable = $this->sm->get('Operationtest\Model\MarcheTable');
        }
        return $this->marcheTable;
    }
    
    public function getMarchestoreTable() {
        if (!$this->marcheStoreTable) {
            $this->marcheStoreTable = $this->sm->get('Operationtest\Model\MarchestoreTable');
        }
        return $this->marcheStoreTable;
    }
    
    public function getBudgetTable() {
        if(!$this->budgetTable) {
            $this->budgetTable = $this->sm->get('Operationtest\Model\BudgetTable');
        }
        return $this->budgetTable;
    }
    
    public function getRhdataTable() {
        if (!$this->rhdataTable) {
            $this->rhdataTable = $this->sm->get('Operationtest\Model\RhdataTable');
        }
        return $this->rhdataTable;
    }
    
    public function getOperationTable() {
        if(!$this->operationTable) {
            $this->operationTable = $this->sm->get('RHX\Model\Table\OperationTable');
        }
        return $this->operationTable;
    }
    
    public function getOperationManager() {
        if(!$this->operationManager) {
            $this->operationManager = $this->sm->get('RHX\Model\Manager\OperationManager');
        }
        return $this->operationManager;
    }
}

